package com.ruoyi.engine.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模版引擎管理对象 bpm_process_definition
 * 
 * @author ruoyi
 * @date 2025-05-25
 */
public class BpmProcessDefinition extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 流程标识（如leaveProcess） */
    @Excel(name = "流程标识", readConverterExp = "如=leaveProcess")
    private String processKey;

    /** 版本号（递增） */
    @Excel(name = "版本号", readConverterExp = "递=增")
    private Long version;

    /** BPMN XML内容 */
    @Excel(name = "BPMN XML内容")
    private String bpmnXml;

    /** 部署状态（0未部署，1已部署） */
    @Excel(name = "部署状态", readConverterExp = "0=未部署，1已部署")
    private Long deployStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProcessKey(String processKey) 
    {
        this.processKey = processKey;
    }

    public String getProcessKey() 
    {
        return processKey;
    }
    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }
    public void setBpmnXml(String bpmnXml) 
    {
        this.bpmnXml = bpmnXml;
    }

    public String getBpmnXml() 
    {
        return bpmnXml;
    }
    public void setDeployStatus(Long deployStatus) 
    {
        this.deployStatus = deployStatus;
    }

    public Long getDeployStatus() 
    {
        return deployStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("processKey", getProcessKey())
            .append("version", getVersion())
            .append("bpmnXml", getBpmnXml())
            .append("deployStatus", getDeployStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
